home *** CD-ROM | disk | FTP | other *** search
/ Maclife 9 / MACLIFE09.7z / MACLIFE09-No-89.ISO / 特集I / FreeWare / Battuere 1.0 ト.sit / Battuere 1.0 ƒ / READ ME- Battuere Docs < prev    next >
Text File  |  1995-09-22  |  17KB  |  230 lines

  1.                        Battuere 1.0 Documentation
  2.                                                                            ゥ1995 Jamie Morgan
  3.  
  4.  
  5. Contents:
  6.  
  7.    ・ Overview/Rules
  8.    ・ Features
  9.    ・ Shareware Notice
  10.    ・ Requirements
  11.    ・ Instructions
  12.    ・ Menu commands
  13.    ・ Scoring
  14.    ・ Decision Engine
  15.    ・ Gameユs History
  16.    ・ The Name
  17.    ・ Technical Information
  18.    ・ Distribution Information
  19.    ・ Questions? Comments?
  20.    ・ Thanks To...
  21.    ・ Version History
  22.  
  23. ______________________________________________________
  24.  
  25. Overview/Rules:
  26.  
  27. Battuere is a strategy game played on an 8 by 8 square board between two players (or a human player and the computer).  Each player has 7 pawns positioned at a right angle to his opponentユs pawns.  The object of the game is to move all of your pawns across the board and off the edge opposing their starting position.  Pawns can only move one space at a time-- either forward or sideways, but not backward or diagonally.  Players take turns moving their pawns to locations either off the board or currently vacant.  There are no jumps or captures.  The winner is the person who removes all of his pawns from the board first.  A player loses the game by leaving his opponent no valid moves.
  28.  
  29. ______________________________________________________
  30.  
  31. Features:
  32.  
  33.    ・ raytraced 256 color graphics with rich textures 
  34.    ・ 3D perspective view of granite gameboard and pawns
  35.    ・ fluid animation of game pawns
  36.    ・ multichannel music plays in the background
  37.    ・ four songs to choose from
  38.    ・ multichannel asynchronous sound effects
  39.    ・ two play modes: human vs. human and human vs. computer
  40.    ・ computer uses variable ply Minimax search engine to determine optimal move
  41.    ・ computer can play on any of 3 skill levels
  42.    ・ ability to save games in progress and play them later
  43.    ・ scoring system with record for top 10 scores
  44.    ・ user-adjustable time limit from 1 to 999 seconds per move
  45.    ・ L.E.D.-esque game clock shows game time and move time
  46.    ・ 3 animation modes for Macs of all speeds
  47.    ・ miniature overhead view for rapid movement of pawns
  48.    ・ ability to retract undesirable moves
  49.    ・ complete on-line help and information
  50.              
  51.                          And more...
  52.  
  53. ______________________________________________________
  54.  
  55. Shareware Notice:
  56.  
  57. Please note that Battuere is NOT free.  It is distributed under the shareware system.  Simply put, this means that if you spare Battuere the wrath of the Empty Trash command and enjoy playing it, I request that you keep your conscience clear and my stomach filled by sending the paltry sum of $15 and your completed Registration Form to the address below.  If you find this fee unacceptable, then by all means just pay what you feel the program is worth.  Your shareware payment goes towards helping a struggling college student maintain his financial stability (and sanity).  As well, it will motivate me to improve Battuere and release future shareware offerings to the Mac community.  Itユs a rather simple concept, actually: you play it, you pay it!  Thank you in advance for supporting shareware and helping to promote the creation of further low cost/high quality software.  YOU make a difference!  
  58.  
  59. Jamie Morgan                        E-mail: jrmorgan@mit.edu 
  60. 450 Memorial Drive               Web: http://www.mit.edu:8001/people/jrmorgan/JRMorgan.html                                        
  61. Cambridge, MA 02139
  62.  
  63. ______________________________________________________
  64.  
  65. Requirements:
  66.  
  67. ・ a Macintosh with color QuickDraw
  68. ・ a monitor of at least 640 by 480 resolution
  69. ・ 256 color capability
  70. ・ 1400k of free memory
  71. ・ for music: QuickTimeェ 2.0 or greater and (optionally) the メQuickTimeェ Musical Instrumentsモ file
  72.  
  73. If you play a lot of games, I suggest you purchase some external speakers too.  Virtually any pair will offer better sound than a stock Macintosh and they make game playing a much more visceral experience.  
  74.  
  75. Also, although itユs not required, you should probably quit all other applications before launching Battuere.  Any program that eats up background time will slow down the animation, computerユs move algorithm, and perhaps even affect the music quality (depending on how many programs are running and how fast your computer is).
  76.  
  77. In order to hear the background music, you must have both QuickTimeェ 2.0 and the メQuickTimeェ Musical Instrumentsモ file in your Extensions folder.  If you have QuickTimeェ 2.0 but not the QuickTimeェ Musical Instruments file, the music will still play but all of the voices will be played with the same instrument.  As I understand, Mac OS version 7.5 and later comes with both of these.  However, if you do not have either the QuickTimeェ 2.0 extension or QuickTimeェ Musical Instruments, then you can obtain them from the Internet (or from an Internet provider such as America OnLine).  QuickTimeェ 2.0 is available for download at "http://quicktime.apple.com/emmys/QTMAC.hqx".   The QuickTimeェ Musical Instruments file is also available via ftp from Apple:
  78.  
  79. Site:              ftp.info.apple.com
  80. Directory:   /Apple.Support.Area/Apple.Software.Updates/US/Macintosh/System/Other_System
  81. Filename:     QuickTime_Musical_Instruments.sea.hqx
  82. File size:     438k
  83.  
  84. If you have any questions about finding QuickTimeェ 2.0 or the QuickTimeェ Musical Instruments file,  send an e-mail message to "quicktime@applelink.apple.com".  
  85.  
  86. ______________________________________________________
  87.  
  88. Instructions:
  89.  
  90. Battuere may be played between two humans or between a human and the computer.  Use the Mode menu to choose which mode youユd like to play.   You may also adjust various rules and features of the game before or during play by choosing the Options... command from the Game menu.   To start a new game, choose the New Game command from the File menu.   Once a game is in progress, an indicator at the top of the screen will inform you whose turn it is to move.  While the computer is choosing its move, the cursor will appear as a yin-yang shape.
  91.  
  92. Human participants make a move by clicking on the base of the pawn they wish to displace, holding the mouse button down, and then dragging the pointer to the destination square.  The cursor will change color to indicate that the move is valid.  To move a piece off the board, click and drag the pawn to the region just beyond the boardユs boundary.  The two red boxes at the top of the screen illustrate how many pawns you and your opponent have each removed from the board.   At the bottom-left corner of the screen is a digital game clock showing the elapsed time for the game itself and for the current move.  If a time limit is in effect (adjustable via the Options... command), a large red exclamation point will appear on the screen when you are within 5 seconds of the time limit.  If you do not make a move before your time has expired, you lose your turn and it becomes your opponentユs turn.
  93.  
  94. As well, there is an overhead board at the bottom-right corner of the screen that can be used if the player finds the perspective view disorienting.  Pawns can be moved from it just as they can from the main board. 
  95.  
  96. If a player inadvertently moves the wrong pawn or makes an otherwise undesirable move, the Retract Move menu command will undo the move and allow the player another chance to take his turn.  In the case of a human vs. computer match, the Retract Move command will erase both the playerユs erroneous move and the computerユs response to the undesired move. 
  97.  
  98. ______________________________________________________
  99.  
  100. Menu Commands:
  101.  
  102. These are all pretty self-explanatory, but just in case youユre wondering...
  103.  
  104. ð
  105. About Battuere... - displays basic information about the program
  106.  
  107. File
  108. New Game - resets the game clock, starts background music (if playable), and begins a new game using the current options and play mode
  109. Abort Game - resets the game board, stops the music, and returns you to the high scores screen
  110. Open Game... - opens a dialog box allowing you to choose a saved game file to play.  You must abort your current game before you can play a saved game.
  111. Save Game... - opens a dialog box allowing you to save a game in progress.  Use this option to store a game youユd like to return to later on.    The gameboard, game clock, rules, play mode, and high score components are all saved in the game file.
  112. Quit - aborts the game in progress and returns you to the Finder.
  113.  
  114. Game
  115. Retract Move - if move retraction is enabled in the Options dialog box, this command will undo your most recent move.  Otherwise the computer will beep to indicate that you cannot retract the move.
  116. Options... - opens a dialog box allowing you to adjust many of the programユs features and parameters.  You can: adjust the animation speed (or turn it off); toggle the display of the withdrawn pawn boxes, game clock, and overhead view; change the computerユs skill level; turn sound effects on/off; turn music on/off; change the song; toggle which color goes first; enable/disable move retraction; adjust the time limit; and specify whether the time limit is enforced or not.
  117. Clear High Scores... - permanently resets the ten high scorersユ names and scores
  118. Help & Information... - opens a dialog box giving you on-line help.  Click on a topic to receive information.  Most of the text in the on-line help dialog box is repeated in this documentation.
  119.  
  120. Mode
  121. Player vs. Computer - select this mode to play against the computer.
  122. Player vs. Player - this mode allows two people to play against each other.
  123.  
  124. ______________________________________________________
  125.  
  126. Scoring:
  127.  
  128. In the human vs. computer mode, a score is calculated following the playerユs victory (no score is tabulated for a computer victory).  If the score is high enough, the player will be prompted to add his name to the high score list.  NOTICE: A player forfeits his high score attempt if he alters any of these options in the middle of a game: the time limit, whether or not the time limit is enforced, the computer's skill level, and whether or not move retraction is allowed.  Factors included in the score tabulation are listed below (most important factors listed first).
  129.  
  130.          ・ Computer's skill level
  131.          ・ Move retraction enabled or disabled
  132.          ・ Number of moves the player won by
  133.          ・ Total game time
  134.          ・ Player's time limit
  135.          ・ Number of moves player made
  136.          ・ Who went first: computer or player
  137.  
  138. ______________________________________________________
  139.  
  140. Decision Engine:
  141.  
  142. For those of you who are curious, the algorithm for the computerユs choice of moves is based upon a variable ply look-ahead search.  For each valid move the computer has to choose from, it computes each possible countermove.  It then checks its countermoves to these countermoves, and so on.  When a certain search depth is reached (4 moves in advance, for instance), the computer evaluates the root nodes of the search tree using a custom static evaluation function.  This, simply put, is a mathematical formula that assigns a numerical value to a given board state reflecting the relative advantage or disadvantage of the player in question.  Using the Minimax principle of game theory, the root nodes are then backed up the game tree to the original array of move options.  The computer then selects the move with the highest backed-up evaluation score.  Got all that?  Thereユll be a quiz later...
  143.  
  144. ______________________________________________________
  145.  
  146. History:
  147.  
  148. Battuere stems from a game known as Dodgem.  Dodgem was created in 1972 by Colin Vout, then a student at the University of Cambridge.  The game received its major publicity from Martin Gardner, who discussed it in his mathematical recreations column in Scientific American (June 1975).  A BASIC version of Dodgem (written by Mac Oglesby) appeared in the book More BASIC Computer Games by David Ahl.  No offense to Mr. Oglesby, but that version played like a lobotomized pack mule.  Battuere is my attempt to produce a more challenging and entertaining version of a very enjoyable board game.
  149.  
  150. ______________________________________________________
  151.  
  152. Whatユs In A Name?
  153.  
  154. Well, if I thought of it, not much.  Therefore, I feel some explanation of this programユs not-so-explicit title is called for.  The game was originally known as Dodgem.  In my opinion, that name just plain sucked.  To find a suitably ineffable replacement I tried to think of the gameユs intrinsic attributes: offense, defense, strategy, race, evasion, contest, etc.  Eventually, my mind turned to more belligerent locutions: war, battle, combat, attack, etc.  Uninspired by these mundane possibilities, I decided to look at the etymologies of said words.  To make a long story longer, the word battuere, meaning ヤto beatユ, is the Latin root for the word battle.  Do you think it sounds stupid? Youユll get over it.  :-)
  155.  
  156. ______________________________________________________
  157.  
  158. Technical Information:
  159.  
  160. Battuere was programmed in the THINK Pascal 4.0 environment.  The pawn sprites and game board were ray traced using POV-Ray 2.0.  Photoshop was then used to eliminate extra colors so that the pawns wouldn't have that "dithered to all hell" look in 256 color mode.  The animation sequence for each pawn consists of 20 separate frames for each 360。 rotation.  The frames and masks are stored in offscreen pixmaps and drawn to the screen using CopyMask().  The screen is updated with a new frame each time a null event is queued.  
  161.  
  162. I don't know how many Mac programmers out there are still using Pascal for real applications, but if there's enough demand I might release the source code for Battuere.  As it is, this is probably my last Pascal program because, despite my vehement objections, the rest of the civilized universe programs in C or C++.  To be quite honest, the only thing I know about C is that it comes after B and before D.
  163.  
  164. ______________________________________________________
  165.  
  166. Distribution Information:
  167.  
  168. You may (and I encourage you to) freely distribute Battuere via any non-commercial medium including, but not limited to: person-to-person, diskette, electronic BBS, on-line services, and ftp.  You may also include Battuere in a commercial software collection, as in a CD-ROM or user group set, provided that you contact me first to seek permission.  Most important, I ask that you upload/distribute Battuere in its original unmodified state (i.e. the shareware notices remain intact, and the Documentation and Registration documents are included with the application).
  169.  
  170. ______________________________________________________
  171.  
  172. Questions? Comments? Bugs? Suggestions?
  173.  
  174. If you have anything to say about Battuere I would greatly appreciate hearing from you.  Do you like it? Hate it?  Are there any features I could add?  How about bug reports?  With your help, Battuere could evolve into a great game.  I already have many ideas in mind for version 2.0. (see "Version History...)  
  175.  
  176. So drop me a line! (and send in those shareware fees!)
  177.  
  178. E-mail:  jrmorgan@mit.edu
  179.  
  180.     Web:  http://www.mit.edu:8001/people/jrmorgan/JRMorgan.html
  181.  
  182. Snail-mail:
  183.          Jamie Morgan
  184.          450 Memorial Drive 
  185.          Cambridge, MA 02139
  186.  
  187. ______________________________________________________
  188.  
  189. Special Thanks/Credits/Assorted Things You Donユt Care About:
  190.  
  191. Mama and Pops- they gave me life (and work their asses off to pay for college)
  192. MAM, Juan Solo, Captain Dexterity, Khanh P. Tron (God), Burritoito, et al. -- friends that don't suck
  193. My beta testers (both of them)
  194. The "nachtmusik" coalition (impossible to code without)
  195. M.I.T. Course VI- the only true hackers left
  196. john calhoun- his Pascal code has taught me oodles
  197. Dennyユs- cheapest food available at 3:00 a.m. (more precisely, the only food available at 3:00 a.m)
  198. Houstonユs 610 loop- 38 miles of unadulterated felicity...
  199. Shareware supporters everywhere- help this poユ boy out!!!
  200.  
  201. Also, thanks to Glenn Andreas for his GMS library:
  202. Gandreas Music System ゥ 1994, Glenn Andreas, All Rights Reserved.
  203.  
  204. ______________________________________________________
  205.  
  206. Version History:
  207.  
  208. 1.0      9/22/95        First official release.  Yep, you got the first one!!
  209.  
  210. Things I'd like to add to the next version if I ever get a chance:  (cha, right...)
  211.  
  212. - Network and modem capability for playing distant friends
  213. - Editable search depth and static evaluation function (for AI tinkerers)
  214. - Tournament mode
  215. - Power Mac native
  216. - Direct screen blitting to speed animation
  217.     (or better yet, send those damn spinning pawns to their death)
  218. - Enhancing/streamlining AI (use alpha-beta pruning, etc...)
  219. - Use Thread Manager for computer's search routine
  220. - Computer vs. computer demo mode
  221.  
  222. ______________________________________________________
  223.  
  224.                                 _¥|/_
  225.                                 {o o}
  226.                       _______ooO_(_)_Ooo_______
  227.                       __|___|___|___|___|___|__
  228.                       |___|___|___|___|___|___|
  229.  
  230.                           Battuere 1.0  ゥ1995 Jamie Morgan, All rights reserved.